import Vue from 'vue'

import 'normalize.css/normalize.css' // A modern alternative to CSS resets

import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import locale from 'element-ui/lib/locale/lang/en' // lang i18n

import '@/styles/index.scss' // global css

import App from './App'
import store from './store'
import router from './router'

import '@/icons' // icon
import '@/permission' // permission control

// 导入封装好的所有自定义指令到一个对象中
import * as imgerrObj from './directives/index.js'

//把上面的这个对象交个Object.keys方法得到一个数组
const keyArr=Object.keys(imgerrObj)
// 然后遍历这个数组
keyArr.forEach(item=>{
  // 自定义指令名就是这个导入的对象名，然后再取出这个对象中的值
  Vue.directive(item,imgerrObj[item])
})

// 导入封装好的过滤器到一个对象中
import * as filtresObj from '@/filters/index'


// 把上面的对象交给Object.keys方法得到数组
Object.keys(filtresObj).forEach(item=>{
  // 注册过滤器
  Vue.filter(item,filtresObj[item])
})



//导入注册好的组件进行调用
import plugin from './views/plugin'
// 在调用
Vue.use(plugin)


// 导入打印的第三方包
import Print from 'vue-print-nb'
// 注册
Vue.use(Print)

// set ElementUI lang to EN
// Vue.use(ElementUI, { locale })
// 如果想要中文版 element-ui，按如下方式声明
Vue.use(ElementUI)

Vue.config.productionTip = false

new Vue({
  el: '#app',
  router,
  store,
  render: h => h(App)
})
